/*
    题目描述：链接：https://leetcode.cn/problems/is-subsequence
    给定字符串 s 和 t ，判断 s 是否为 t 的子序列。
    字符串的一个子序列是原始字符串删除一些（也可以不删除）字符而不改变剩余字符相对位置形成的新字符串。（例如，"ace"是"abcde"的一个子序列，而"aec"不是）。
        进阶：
        如果有大量输入的 S，称作 S1, S2, ... , Sk 其中 k >= 10亿，你需要依次检查它们是否为 T 的子序列。在这种情况下，你会怎样改变代码？
*/

/*
    解题思路：指针法
*/

function isSubsequence(s, t) {
    let cur1 = 0, cur2 = 0;

    while (cur2 < t.length) {
        if (s[cur1] === t[cur2]) {
            if (cur1 < s.length) {
                cur1++;
            } else {
                return true;
            };
        };
        cur2++;
    };

    return cur1 === s.length;
};


// test
const s = 'world', t = 'helloworld', b = 'hellow';
console.log(isSubsequence(s, t));  // true
console.log(isSubsequence(s, b));  // false